10 GOTO 9000
100 A=STICK(0)ORSTICK(1):X=X+4*(A=7ANDX>8)-4*(A=3ANDX<238):Y=Y+4:VPOKE6913,X:VPOKE6916,Y:IFY=176THENP=P+8*(VPEEK(6918)<>28):GOSUB200
110 FORI=1TOR*2:NEXT:GOTO100
200 IF VPEEK(6918)<>28 THEN L=L-1
210 Y=32:IFP<0ORP>9999THENRETURN1000
215 LOCATE 30,0:PRINT USING"#";L
220 I=RND(1)*224+8:VPOKE6916,Y:VPOKE6917,I:I=RND(1)*6+1:ONIGOTO 250,255,260,265,270,275
250 VPOKE 6918,12:VPOKE6919,2:GOTO280
255 VPOKE 6918,16:VPOKE6919,10:GOTO280
260 VPOKE 6918,20:VPOKE6919,9:GOTO280
265 VPOKE 6918,24:VPOKE6919,4:GOTO280
270 VPOKE 6918,28:VPOKE6919,15:GOTO280
275 VPOKE 6918,32:VPOKE6919,15
280 IF P>0 THEN LOCATE6,0:PRINTUSING"####";P ELSE LOCATE 6,0:PRINT"   0"
290 IF L=0 THEN RETURN 1000 ELSE SPRITEON:RETURN
300 I=USR1(0):CLS
305 LOCATE 0,1:PRINT"";
307 PRINT"  ";
308 PRINT"  ";
309 PRINT"";
310 PRINT"";
315 LOCATE 0,21:PRINT STRING$(32,217);
320 X=120:Y=16:P=10:R=10:L=5:LOCATE 0,0:PRINT"SCORE":LOCATE 6,0:PRINT USING"####";P
325 LOCATE 25,0:PRINT"REST":LOCATE 30,0:PRINT USING"#";L
330 PUT SPRITE 0,(X,175),15,0:PUT SPRITE 1,(0,209),0,0:I=USR2(0):LOCATE 13,11:PRINT"READY!":FOR I=1 TO 2000:NEXT:LOCATE 13,11:PRINT STRING$(6,32)
340 GOSUB 210
350 GOTO 100
400 SPRITEOFF:PLAY"t200v13l16o4a":I=VPEEK(6918):I=I\4:I=I-2:ONIGOTO410,420,430,440,450,460
410 P=P+10:GOTO470
420 P=P+3:GOTO470
430 P=P+5:GOTO470
440 P=P+7:GOTO470
450 IFP>0THENP=P\2:GOTO470
460 P=P+20
465 R=10+(P>50)+(P>100)+(P>150)+(P>200)
470 LOCATE6,0:PRINTUSING"####";P
475 IF VPEEK(6914)=0 THEN VPOKE 6914,4 ELSE VPOKE 6914,0
480 GOTO 210
1000 VPOKE 6914,8:VPOKE 6915,14:LOCATE 12,11:PRINT"GAME OVER"
1010 FOR I=1 TO 3000:NEXT
1015 IF P>R(10) THEN GOSUB 5000
1020 GOTO 4000
4000 I=USR1(0):CLS:SPRITE OFF:FOR I=0 TO 31:PUT SPRITE I,(0,209),0,0:NEXT
4010 LOCATE 9,5:PRINT""
4020 LOCATE 9,6:PRINT""
4030 LOCATE 9,7:PRINT""
4035 LOCATE 7,1:PRINT"CRAPPYSOFT PRESENTS"
4040 LOCATE 4,13:PRINT"IDEA AND GRAPHICS BY"
4050 LOCATE 14,14:PRINT"DAVID CASANOVAS"
4060 LOCATE 4,16:PRINT"CODED BY"
4070 LOCATE 12,17:PRINT"JUAN MANUEL GOMEZ"
4075 LOCATE 3,21:PRINT"FOR THE MSX BASIC CONTEST!!!";:I=USR2(0):TIME=0
4080 IF TIME>300 THEN 5220
4085 IF STRIG(0)=0 AND STRIG(1)=0 THEN 4080
4090 PLAY"t200o4v13l16ceg":I=RND(-TIME):GOTO 300
5000 CLS:FOR I=0 TO 31:PUT SPRITE I,(0,209),0,0:NEXT:R(10)=P:FOR I=2 TO 20:LOCATE 3,I:PRINT SPC(26):NEXT
5010 LOCATE 5,5:PRINT"YOU SET A NEW RECORD!!!"
5020 LOCATE 9,7:PRINT"ENTER YOUR NAME":LOCATE 13,10:PRINT""
5030 LOCATE 6,15:PRINT"  TO MOVE POINTER":LOCATE 6,17:PRINT" TO SELECT LETTER":LOCATE 5,19:PRINT"PRESS SPACE WHEN DONE"
5040 FOR I=0 TO 5:M(I)=65:NEXT
5060 FOR I=0 TO 5:LOCATE 13+I,11:PRINT CHR$(M(I)):NEXT:I=0
5070 A=STICK(0) OR STICK(1)
5080 IF A=3 AND I<5 THEN I=I+1:LOCATE 13+I-1,10:PRINT" "
5090 IF A=7 AND I>0 THEN I=I-1:LOCATE 13+I,10:PRINT" "
5100 IF A=1 AND M(I)>64 THEN M(I)=M(I)-1
5110 IF A=5 AND M(I)<90 THEN M(I)=M(I)+1
5120 LOCATE 13+I,11:IF M(I)=64 THEN PRINT" " ELSE PRINT CHR$(M(I))
5130 FOR X=1 TO 20:IF STRIG(0) OR STRIG(1) THEN 5150 ELSE NEXT
5140 IF STRIG(0)=0 AND STRIG(1)=0 THEN 5070
5150 R$(10)="":FOR I=0 TO 5
5160 IF M(I)=64 THEN R$(10)=R$(10)+" ":NEXT ELSE R$(10)=R$(10)+CHR$(M(I)):NEXT
5170 FOR I=1 TO 9
5180 FOR X=I TO 10
5190 IF R(I)<R(X) THEN SWAP R(I),R(X):SWAP R$(I),R$(X)
5200 NEXT:NEXT
5210 RETURN
5220 I=USR1(0):CLS:LOCATE11,1:PRINT"TOP SCORES"
5230 FOR I=1 TO 10:LOCATE 8,2+I*2:PRINT R$(I):LOCATE 19,2+I*2:PRINT USING"#####";R(I):NEXT:I=USR2(0):TIME=0
5240 IF STRIG(0)=-1 OR STRIG(1)=-1 THEN 4000
5250 IF TIME>300 THEN 4000 ELSE 5240
6000 RESTORE 6020:FOR I=520 TO 727:READ A:VPOKE I,A:NEXT:LOCATE 5,11:PRINT"A CRAPPYSOFT PRODUCTION":I=USR2(0)
6010 FOR I=384 TO 463:READ A:VPOKE I,A:NEXT:RETURN
6020 DATA 56,108,198,198,254,198,198,0
6030 DATA 252,198,198,252,198,198,252,0
6040 DATA 124,198,192,192,192,198,124,0
6050 DATA 248,204,198,198,198,204,248,0
6060 DATA 254,192,192,252,192,192,254,0
6070 DATA 254,192,192,252,192,192,192,0
6080 DATA 124,198,192,206,198,198,126,0
6090 DATA 198,198,198,254,198,198,198,0
6100 DATA 60,24,24,24,24,24,60,0
6110 DATA 6,6,6,6,6,198,124,0
6120 DATA 198,204,216,248,248,220,206,0
6130 DATA 192,192,192,192,192,192,254,0
6140 DATA 198,238,254,214,198,198,198,0
6150 DATA 198,230,246,222,206,198,198,0
6160 DATA 124,198,198,198,198,198,124,0
6170 DATA 252,198,198,198,252,192,192,0
6180 DATA 124,198,198,198,214,206,124,0
6190 DATA 252,198,198,196,248,204,198,0
6200 DATA 124,198,192,124,6,198,124,0
6210 DATA 126,24,24,24,24,24,24,0
6220 DATA 198,198,198,198,198,198,124,0
6230 DATA 198,198,198,198,198,108,56,0
6240 DATA 198,198,214,214,214,124,40,0
6250 DATA 198,108,56,16,56,108,198,0
6260 DATA 102,102,126,60,24,24,24,0
6270 DATA 254,12,24,48,96,192,254,0
6280 REM NUMEROS
6290 DATA 56,68,198,198,198,68,56,0
6300 DATA 24,56,24,24,24,24,60,0
6310 DATA 124,198,6,28,120,224,254,0
6320 DATA 124,198,6,60,6,198,124,0
6330 DATA 12,60,108,204,204,254,12,0
6340 DATA 254,192,192,252,6,198,124,0
6350 DATA 124,198,192,252,198,198,124,0
6360 DATA 254,6,12,24,48,96,192,0
6370 DATA 124,198,198,124,198,198,124,0
6380 DATA 124,198,198,126,6,198,124,0
7000 RESTORE 7100:FOR I=14336 TO 14336+32*9-1:READ A$:VPOKE I,VAL("&H"+A$):NEXT:RETURN
7100 DATA 06,0f,1f,3f,20,1f,38,66
7110 DATA 54,b6,b9,de,57,18,0f,03
7120 DATA 60,f0,f8,fc,04,f8,1c,66
7130 DATA 2a,6d,9d,7b,fa,18,f0,c0
7135 '
7140 DATA 06,0f,1f,3f,20,1f,38,64
7150 DATA 56,b9,be,d7,50,18,0f,03
7160 DATA 60,f0,f8,fc,04,f8,1c,26
7170 DATA 6a,9d,7d,fb,1a,38,f0,c0
7175 '
7180 DATA 06,0f,1f,3f,20,1f,38,67
7190 DATA 53,ac,bd,c0,5f,55,20,1f
7200 DATA 60,f0,f8,fc,04,f8,1c,e6
7210 DATA ca,35,bd,03,fa,aa,04,f8
7215 ' coctel
7220 DATA 80,60,60,10,7f,44,22,17
7230 DATA 0b,05,02,01,01,01,01,0f
7240 DATA 00,00,00,00,fe,02,04,e8
7250 DATA d0,a0,40,80,80,80,80,f0
7255 ' cerveza
7260 DATA 00,7f,00,7f,6d,24,7f,6d
7270 DATA 24,7f,6d,24,7f,00,7f,7f
7280 DATA 00,f0,00,fe,bb,91,f1,b1
7290 DATA 91,f1,b1,93,f6,0c,f0,f0
7295 ' cubata
7300 DATA 00,7f,58,2c,16,16,2f,5f
7310 DATA 5f,5f,20,1f,01,01,01,1f
7320 DATA 00,fe,02,04,08,08,f4,fa
7330 DATA fa,fa,04,f8,80,80,80,f8
7335 ' whiskey
7340 DATA 03,00,03,03,03,0d,1f,3f
7350 DATA 30,37,37,30,37,30,3f,3f
7360 DATA c0,00,c0,c0,c0,b0,f8,fc
7370 DATA 0c,ec,ec,0c,ec,0c,fc,fc
7375 ' cafe
7380 DATA 04,08,09,04,00,0f,10,1f
7390 DATA 1f,1f,1f,2f,70,3f,1f,00
7400 DATA 00,82,04,88,10,e0,50,fc
7410 DATA f2,f2,fc,e0,1c,f8,f0,00
7415 ' wc
7420 DATA 54,55,55,28,00,00,7f,00
7430 DATA 7f,3f,0f,01,03,07,1f,00
7440 DATA c4,04,04,c4,0e,00,ee,0e
7450 DATA ee,ee,c4,f8,80,c0,e0,00
8000 RESTORE 8090:FOR I=128*8 TO 148*8+7:READ A$:VPOKE I,VAL("&H"+A$):NEXT
8010 FOR I=152*8 TO 158*8+7:READ A$:VPOKE I,VAL("&H"+A$):NEXT
8020 FOR I=160*8 TO 160*8+7:READ A$:VPOKE I,VAL("&H"+A$):NEXT
8030 FOR I=168*8 TO 169*8+7:READ A$:VPOKE I,VAL("&H"+A$):NEXT
8040 FOR I=176*8 TO 180*8+7:READ A$:VPOKE I,VAL("&H"+A$):NEXT
8045 FOR I=184*8 TO 185*8+7:READ A$:VPOKE I,VAL("&H"+A$):NEXT
8050 FOR I=192*8 TO 193*8+7:READ A$:VPOKE I,VAL("&H"+A$):NEXT
8055 FOR I=200*8 TO 204*8+7:READ A$:VPOKE I,VAL("&H"+A$):NEXT
8060 FOR I=216*8 TO 217*8+7:READ A$:VPOKE I,VAL("&H"+A$):NEXT
8062 FOR I=33*8 TO 33*8+7:READ A$:VPOKE I,VAL("&H"+A$):NEXT
8065 I=USR1(0)
8070 VPOKE 8208,&HF1:VPOKE 8209,&HF1:VPOKE 8210,&HF1:VPOKE 8211,&H81:VPOKE 8212,&HF8:VPOKE 8213,&HF1:VPOKE 8214,&H41:VPOKE 8215,&H21:VPOKE 8216,&HB1:VPOKE 8217,&H51:VPOKE 8218,&H41:VPOKE 8219,&H81:VPOKE 8198,&H71:VPOKE 8199,&H71
8080 RETURN
8090 DATA ff,ff,ff,ff,ff,ff,ff,ff
8095 '
8100 DATA ff,f0,f0,fc,fc,fc,fc,fc
8110 DATA ff,f8,f0,e3,e7,e7,e7,e7
8120 DATA fc,00,00,fc,fc,fc,fc,fc
8130 DATA e7,e7,e7,e7,e3,f0,f8,ff
8140 DATA fc,fc,fc,fc,fc,00,00,ff
8145 '
8150 DATA ff,84,80,e1,e3,e7,e7,e7
8160 DATA ff,07,03,f1,f9,f9,ff,ff
8170 DATA e7,e7,e7,e7,e7,80,80,ff
8175 '
8180 DATA ff,81,81,e7,e7,e7,e7,e7
8190 DATA e7,e7,e7,e7,e7,81,81,ff
8195 '
8200 DATA ff,84,80,e1,e3,e7,e7,e7
8210 DATA ff,07,03,f1,f9,f9,f9,f9
8220 DATA e7,e7,e7,e7,e7,80,80,ff
8230 DATA f9,f9,f9,f9,f9,f0,f0,ff
8235 '
8240 DATA ff,87,87,cf,cf,cf,ce,cc
8250 DATA ff,83,83,c7,8f,1f,3f,7f
8260 DATA c8,c0,c0,c7,cf,cf,cf,cf
8270 DATA ff,07,03,f1,f9,f9,f9,f9
8280 DATA cf,cf,cf,cf,cf,83,83,ff
8290 DATA f9,f9,f9,f9,f9,f0,f0,ff
8295 '
8300 DATA ff,ff,ff,3c,3c,3c,3c,3c
8310 DATA 3c,3c,3c,3c,3c,3c,3c,3c
8320 DATA 3c,3c,3c,3c,3c,ff,ff,ff
8325 '
8330 DATA 3f,3f,3f,38,30,20,00,00
8340 DATA ff,ff,ff,3c,3c,3c,3c,3c
8350 DATA fc,fc,fc,1c,0c,04,00,00
8351 '
8352 DATA 00,00,00,00,00,00,00,00
8355 ' punto
8360 DATA ff,c3,81,81,81,81,c3,ff
8365 '
8370 DATA f0,f0,f0,f0,f0,f0,f0,f0
8380 DATA 0f,0f,0f,0f,0f,0f,0f,0f
8385 '
8390 DATA 00,03,0f,3f,ff,00,7f,bf
8400 DATA 00,ff,ff,ff,ff,00,ff,ff
8410 DATA 00,c0,f0,fc,ff,00,fe,fd
8420 DATA c0,c0,c0,c0,c1,c7,df,c0
8430 DATA 03,03,03,03,83,e3,fb,03
8435 '
8440 DATA 44,ee,ee,ee,ee,11,ff,00
8450 DATA 00,ee,ee,44,ee,11,ff,00
8455 '
8460 DATA 44,ee,ee,ee,ee,11,ff,00
8470 DATA 00,ee,ee,44,ee,11,ff,00
8475 '
8480 DATA 00,03,0f,3f,ff,00,7f,3f
8490 DATA 00,00,00,ff,ff,00,ff,ff
8500 DATA 00,c0,f0,fc,ff,00,fe,fc
8510 DATA 3f,1f,1f,1f,0f,0f,07,03
8512 DATA fc,f8,f8,f8,f0,f0,e0,c0
8515 '
8520 DATA c3,3c,7e,3c,18,18,18,3c
8530 DATA 0,0,0,7e,7e,0,0,0
8535 '
8540 DATA 1c,1c,18,10,0,18,18,0
9000 KEYOFF:SCREEN1,2,0:COLOR 15,1,1:WIDTH32:DEFUSR1=&H41:DEFUSR2=&H44:I=USR1(0):DEFINT A-Z
9005 A=0:Y=0:X=0:R=0:DIM R(10):P=0:L=0
9010 GOSUB 6000:GOSUB 8000
9020 GOSUB 7000
9030 ON SPRITE GOSUB 400
9035 R$(1)="MSX":R(1)=100
9040 R$(2)="MSX":R(2)=90
9045 R$(3)="MSX":R(3)=80
9050 R$(4)="MSX":R(4)=70
9055 R$(5)="MSX":R(5)=60
9060 R$(6)="MSX":R(6)=50
9065 R$(7)="MSX":R(7)=40
9070 R$(8)="MSX":R(8)=30
9075 R$(9)="MSX":R(9)=20
9080 R$(10)="MSX":R(10)=10
9090 GOTO 4000
